package d0316;

import java.util.concurrent.TimeUnit;

public class Resource1 {
    public void f() {
        System.out.println(Thread.currentThread().getName() + " not synchronized  f()is running.");
        synchronized (this){
            for(int i=0;i<5;i++){
                System.out.println(Thread.currentThread().getName() + "  synchronized  f()is running.");
        try {
            TimeUnit.SECONDS.sleep(2);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
}
    public void g() {
        System.out.println(Thread.currentThread().getName() + " not synchronized g()is running.");
        synchronized (this){
            for(int i=0;i<5;i++){
                System.out.println(Thread.currentThread().getName() + "  synchronized  f()is running.");
        try {
        TimeUnit.SECONDS.sleep(2);
        } catch (InterruptedException e) {
        e.printStackTrace();
        }
        }
        }
        }
    public static void main(String[] args) {
        Resource resource= new Resource();
        new Thread(()->resource.f()).start();
        new Thread(()->resource.f()).start();
        }
        }